<?php

class Pet extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    public function avaible_city() {

        $sql = sprintf("SELECT DISTINCT(`Citta`) AS Citta "
                . "FROM `utente` "
                . "ORDER BY `Citta` "
                . "DESC");


        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }


        return $response;
    }

    public function get_all_by_city($city) {
        $city2 = str_replace('_', ' ' , $city);
        $sql = sprintf("SELECT `utente`.`Nome` ,`utente`.`Id` , `utente`.`Cognome` ,
                            `utente`.`DataDiNascita` , `utente`.`Citta` , `utente`.`Indirizzo`, `utente`.`FKUtentePet` as 'petowner'
                            FROM `utente` ,`utentepet`,`fotopet‏sitter`
                            WHERE `utente`.`FKUtentePet` = `utentepet`.`id`
                            AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`
                            AND `utente`.`Citta` = '" . $city2 . "'");
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }
        $sql2 = sprintf("SELECT `utente`.`Nome` ,`utente`.`Id` , `utente`.`Cognome` ,
                            `utente`.`DataDiNascita` , `utente`.`Citta` , `utente`.`Indirizzo`,`utente`.`FKUtentePetSitter` AS 'petsitter'
                        FROM `utente` , `utentepetsitter` , `fotopet‏sitter`
                        WHERE  `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id` 
                        AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`
                        AND `utente`.`Citta` = '" . $city2 . "'");
        $query2 = $this->db->query($sql2);
        $response2 = array();
        $j = 0;
        foreach ($query2->result_array() as $row) {
            $response2[$i] = $row;
            $j++;
        }
        $final = array_merge($response, $response2);
        return $final;
    }

    public function get_all_pet_owner() {
        $sql = sprintf("SELECT `utente`.`Nome` ,`utente`.`Id` , `utente`.`Cognome` ,
                            `utente`.`DataDiNascita` , `utente`.`Citta` , `utente`.`Indirizzo`, `utente`.`FKUtentePet` as 'petowner'
                            FROM `utente` ,`utentepet`,`fotopet‏sitter`
                            WHERE `utente`.`FKUtentePet` = `utentepet`.`id`
                            AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`");
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }
        return $response;
    }

    public function get_all_pet_sitter() {
        $sql = sprintf("SELECT `utente`.`Nome` ,`utente`.`Id` , `utente`.`Cognome` ,
                            `utente`.`DataDiNascita` , `utente`.`Citta` , `utente`.`Indirizzo`, `utente`.`FKUtentePetSitter` AS 'petsitter'
                        FROM `utente` , `utentepetsitter` , `fotopet‏sitter`
                        WHERE  `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id` 
                        AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`
                        ORDER BY 'Id' 
                        ASC ");


        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }


        return $response;
    }
    public function get_all_pet(){
        $sql =  sprintf("SELECT `pet`.`IdPet` AS 'Id_Pet', `pet`.`Nome` , `pet`.`Razza` , `pet`.`Sesso` ,
                            `utentepet_to_pet`.`IdUtente` , `utente`.`FKUtentePet` , `utente`.`FKUtentePetSitter`
                            FROM `pet` , `utentepet_to_pet` , `utente`
                            WHERE `pet`.`IdPet` = `utentepet_to_pet`.`IdPet`
                            AND `utente`.`Id` = `utentepet_to_pet`.`IdUtente`");
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }
        return $response;
    }

    public function get_last_subscribed() {
        $sql = sprintf("SELECT `utente`.`Nome` ,`utente`.`Id` , `utente`.`Cognome` ,
                            `utente`.`DataDiNascita` , `utente`.`Citta` , `utente`.`Indirizzo` ,
                            `utente`.`lat` ,`utente`.`long`,
                            `fotopet‏sitter`.`Percorso` AS 'path_profile',`fotopet‏sitter`.`Nome` AS 'alt_profile',
                            `curriculum`.`TitoloAnnuncio` , `curriculum`.`DescrizioneAnnuncio`,
                            `curriculum`.`Certificazioni` , `curriculum`.`Specializzazioni`,
                            `esperienza‏`.`Nome` AS 'Esperienza' , `esperienza‏`.`Descrizione`,
                            `costi`.`CostoGiornaliero`, `costi`.`CostoOrario`, `costi`.`CostoPetAggiuntivo`
                    FROM `utente` , `utentepetsitter` , `curriculum` , `esperienza‏`, `costi`,`fotopet‏sitter`
                    WHERE  `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id` 
                    AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`
                    AND `curriculum`.`Id` = `utentepetsitter`.`FKCurriculum`
                    AND `esperienza‏`.`Id` = `curriculum`.`FKEsperienza`
                    AND `costi`.`Id` = `utentepetsitter`.`FKCosti`
                    ORDER BY `utente`.`Id` DESC 
                    LIMIT 8");


        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }


        return $response;
    }

    public function get_petsitter_basicinfo_by_id($id) {
        $sql = sprintf("SELECT `Nome`,`Cognome`,`DataDiNascita`,`Citta`,`Indirizzo`,`Email`,`sesso`
                        FROM `utente`
                        WHERE `id` =" . $id);
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response = $row;
        }
        return $response;
    }

    public function get_petsitter_by_id($id) {
        $sql = sprintf("SELECT `utente`.`Nome` , `utente`.`Cognome` , `utente`.`Id` AS 'IDUTENTE',
                                `utente`.`DataDiNascita` , `utente`.`Citta` , `utente`.`Indirizzo` ,
                                `utente`.`lat` ,`utente`.`long`,
                                `fotopet‏sitter`.`Percorso` AS 'path_profile',`fotopet‏sitter`.`Nome` AS 'alt_profile',
                                `curriculum`.`TitoloAnnuncio` , `curriculum`.`DescrizioneAnnuncio`,
                                `curriculum`.`Certificazioni` , `curriculum`.`Specializzazioni`,
                                `esperienza‏`.`Nome` AS 'Esperienza' , `esperienza‏`.`Descrizione`,
                                `costi`.`CostoGiornaliero`, `costi`.`CostoOrario`, `costi`.`CostoPetAggiuntivo`
                        FROM `utente` , `utentepetsitter` , `curriculum` , `esperienza‏`, `costi`,`fotopet‏sitter`
                        WHERE `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id`
                        AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`
                        AND `curriculum`.`Id` = `utentepetsitter`.`FKCurriculum`
                        AND `esperienza‏`.`Id` = `curriculum`.`FKEsperienza`
                        AND `costi`.`Id` = `utentepetsitter`.`FKCosti`
                        AND `utente`.`Id` =" . $id);
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response = $row;
        }
        return $response;
    }

    public function get_petowner_by_id($id) {
        $sql = sprintf("SELECT `utente`.`Nome`,`utente`.`Cognome`, `utente`.`DataDiNascita`, `utente`.`Citta`,
                               `utente`.`Indirizzo`,`utente`.`Email`,`fotopet‏sitter`.`Percorso` AS 'path_profile',
                               `utente`.`lat` ,`utente`.`long`
                        FROM `utentepet` ,`utente`,`fotopet‏sitter`
                        WHERE `utente`.`FKUtentePet` = `utentepet`.`Id`
                        AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`
                        AND `utente`.`id` = " . $id);
        $query = $this->db->query($sql);
        $response = array();

        foreach ($query->result_array() as $row) {
            $response = $row;
        }


        return $response;
    }

    public function get_my_pet_by_id($id) {
        $sql = sprintf("SELECT DISTINCT `fotopet‏`.`Percorso` as 'pet_foto_path', `tipodianimale`.`Nome` As 'TipoAnimale', `pet`.`Nome` As 'NomePet',`pet`.`IdPet` As 'IDPET',
                        `pet`.`Razza`, `taglia`.`Nome` as 'Taglia',
                        `pet`.`Sesso`, `personalita`.`Nome` as 'Personalita',
                        `alimentazione`.`Nome` as 'Alimentazione', `pet`.`Note`,
                        `utente`.`FKUtentePetSitter` as 'PetSitter' ,`utente`.`FKUtentePet` as 'PetOwner'
                        FROM `utentepet`,`utente`,`utentepet_to_pet`,`pet`,`alimentazione`,`personalita`,`taglia`,`tipodianimale`, `fotopet‏`, `pet_to_fotopet`
                        WHERE `utente`.`FKPossiede` = `utentepet_to_pet`.`IdUtente`
                        AND `utentepet_to_pet`.`IdPet` = `pet`.`IdPet`
                        AND `pet`.`FKTipoDiAnimale` = `tipodianimale`.`Id`
                        AND `pet`.`FKTaglia` = `taglia`.`Id`
                        AND `pet`.`FKPersonalità` = `personalita`.`Id`
                        AND `pet`.`FKAlimentazione` = `alimentazione`.`Id`
                        AND `pet`.`FKFoto` = `pet_to_fotopet`.`IdPet`
                        AND `fotopet‏`.`Id` = `pet_to_fotopet`.`IdFotoPet`
                        AND `utente`.`id` = " . $id . " GROUP BY 'NomePet'"); //`utente`.`FKUtentePet` = `utentepet`.`Id` AND 
//        echo $sql;
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }

        return $response;
    }

    public function get_all_petsitter() {
        $sql = sprintf("SELECT `utente`.`Id`,`utente`.`Nome` , `utente`.`Cognome` ,
                                `utente`.`DataDiNascita` , `utente`.`Citta` , `utente`.`Indirizzo` ,
                                `fotopet‏sitter`.`Percorso` AS 'path_profile',`fotopet‏sitter`.`Nome` AS 'alt_profile',
                                `utente`.`lat` ,`utente`.`long`,
                                `curriculum`.`TitoloAnnuncio` , `curriculum`.`DescrizioneAnnuncio`,
                                `curriculum`.`Certificazioni` , `curriculum`.`Specializzazioni`,
                                `esperienza‏`.`Nome` AS 'Esperienza' , `esperienza‏`.`Descrizione`,
                                `costi`.`CostoGiornaliero`, `costi`.`CostoOrario`, `costi`.`CostoPetAggiuntivo`
                        FROM `utente` , `utentepetsitter` , `curriculum` , `esperienza‏`, `costi`,`fotopet‏sitter`
                        WHERE `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id`
                        AND `utente`.`FKFoto` = `fotopet‏sitter`.`Id`
                        AND `curriculum`.`Id` = `utentepetsitter`.`FKCurriculum`
                        AND `esperienza‏`.`Id` = `curriculum`.`FKEsperienza`
                        AND `costi`.`Id` = `utentepetsitter`.`FKCosti`");
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }


        return $response;
    }

    public function find_all_petsitter($form) {

        $sql = "SELECT `PetSitter` . *
                FROM (
                SELECT `utente`.`Id` , `utente`.`Nome` , `utente`.`Cognome` , `utente`.`DataDiNascita` ,
                       `utente`.`Citta` , `utente`.`Indirizzo` , `fotopet‏sitter`.`Percorso` AS 'path_profile',
                       `fotopet‏sitter`.`Nome` AS 'alt_profile', `utente`.`lat` ,`utente`.`long`,
                       `costi`.`CostoGiornaliero`, `costi`.`CostoOrario`, `costi`.`CostoPetAggiuntivo`
                FROM `utente` , `utentepetsitter` , `fotopet‏sitter`, `costi`
                WHERE `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id`
                AND `fotopet‏sitter`.`Id` = `utente`.`FKFoto`
                AND `costi`.`Id` = `utentepetsitter`.`FKCosti`
                AND `utente`.`FKUtentePet` IS NULL
                ) AS `PetSitter` WHERE 1";
        if ($form['nominativo'] != NULL) {
            $sql = $sql . " AND `PetSitter`.`Nome` LIKE '%" . $form['nominativo'] . "%' ";
            //$sql = $sql . " OR `PetSitter`.`Cognome` LIKE '%" . $form['nominativo'] . "%' ";
        }
        if ($form['Indirizzo'] != NULL) {
            $sql = $sql . " AND `PetSitter`.`Indirizzo` LIKE '%" . $form['Indirizzo'] . "%' ";
        }
        if ($form['Citta'] != NULL) {
            $sql = $sql . " AND `PetSitter`.`Citta` LIKE '%" . $form['Citta'] . "%' ";
        }

        $result = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($result->result_array() as $row) {
            $response[$i] = $row;
            $i++;
        }

        return $response;
    }

    public function register($param) {
        
    }

    public function modify($param) {
        
    }

    public function message($mittente, $destinatario, $contenuto) {
        
    }

    public function get_animals_protected($id) {
        $sql = sprintf("SELECT `animaliaccuditi`.`Nome` , `animaliaccuditi`.`Descrizione`
                        FROM `utente` , `utentepetsitter` , `curriculum` , `curriculum_to_animaliaccuditi` , `animaliaccuditi`
                        WHERE `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id`
                        AND `curriculum`.`Id` = `utentepetsitter`.`FKCurriculum`
                        AND `curriculum_to_animaliaccuditi`.`IdCurriculum` = `curriculum`.`FKAnimaliAccuditi`
                        AND `curriculum_to_animaliaccuditi`.`IdAnimaliAccuditi` = `animaliaccuditi`.`Id`
                        AND `utente`.`id` =" . $id);
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {

            $response[$i] = $row;
            $i++;
        }
        return $response;
    }

    public function get_home_by_id($id) {
        $sql = sprintf("SELECT `casa` . * , `tipoabitazione`.`Nome` AS 'TipoCasa', `tipoabitazione`.`Descrizione` AS 'DescCasa'
                        FROM `utente` , `utentepetsitter` , `casa` , `tipoabitazione`
                        WHERE `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id`
                        AND `utentepetsitter`.`FKCasa` = `casa`.`Id`
                        AND `casa`.`FKTipoAbitazione` = `tipoabitazione`.`Id`
                        AND `utente`.`id` = " . $id);
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response = $row;
        }

        return $response;
    }

    public function get_costs_by_id($id) {
        $sql = sprintf("SELECT `costi`.*
                        FROM `utente` , `utentepetsitter` , `costi`
                        WHERE `utente`.`FKUtentePetSitter` = `utentepetsitter`.`Id`
                        AND `utentepetsitter`.`FKCosti` = `costi`.`Id`
                        AND `utente`.`id` = " . $id);
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response = $row;
        }
        return $response;
    }

    public function get_my_pet_profile_by_id($idPet) {
        $sql = sprintf("SELECT `tipodianimale`.`Nome` As 'TipoAnimale', `pet`.`Nome` As 'NomePet',
                        `pet`.`Razza`, `taglia`.`Nome` as 'Taglia',
                        `pet`.`Sesso`, `personalita`.`Nome` as 'Personalita',
                        `alimentazione`.`Nome` as 'Alimentazione', `pet`.`Note`,  `pet`.`Vaccino`, `pet`.`Pedigree`
                        FROM `utentepet`,`utente`,`utentepet_to_pet`,`pet`,`alimentazione`,`personalita`,`taglia`,`tipodianimale`, `fotopet‏`, `pet_to_fotopet`
                        WHERE `utente`.`FKPossiede` = `utentepet_to_pet`.`IdUtente`
                        AND `utentepet_to_pet`.`IdPet` = `pet`.`IdPet`
                        AND `pet`.`FKTipoDiAnimale` = `tipodianimale`.`Id`
                        AND `pet`.`FKTaglia` = `taglia`.`Id`
                        AND `pet`.`FKPersonalità` = `personalita`.`Id`
                        AND `pet`.`FKAlimentazione` = `alimentazione`.`Id`
                        AND `pet`.`FKFoto` = `pet_to_fotopet`.`IdPet`
                        AND `fotopet‏`.`Id` = `pet_to_fotopet`.`IdFotoPet`
                        AND `pet`.`IdPet` = " . $idPet);
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {
            $response = $row;
        }
        return $response;
    }

    public function get_photos_my_pet($idPet) {
        $sql = sprintf("SELECT `fotopet‏`.`Nome` , `fotopet‏`.`Descrizione` , `fotopet‏`.`Percorso`
                        FROM `fotopet‏` , `pet_to_fotopet` , `pet`
                        WHERE `fotopet‏`.`Id` = `pet_to_fotopet`.`IdFotoPet`
                        AND `pet_to_fotopet`.`IdPet` = `pet`.`IdPet`
                        AND `pet`.`IdPet` =" . $idPet);
        $query = $this->db->query($sql);
        $response = array();
        $i = 0;
        foreach ($query->result_array() as $row) {

            $response[$i] = $row;
            $i++;
        }
        return $response;
    }

}

?>